package com.quan.mall.service;

import com.quan.mall.commons.vo.FmsMemberCashFlowVo;
import com.quan.mall.entity.FmsFinanceCashFlow;
import com.quan.mall.entity.FmsMemberCashFlow;
import com.quan.commons.core.utils.PageUtils;
import com.quan.commons.core.biz.support.MyBaseService;

import java.util.List;

/**
 * 财务-会员资金流水
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2021-03-26 15:19:14
 */
public interface FmsMemberCashFlowService extends MyBaseService<FmsMemberCashFlow> {

    /**
     * 列表查询
     * @param vo
     * @return
     */
    public List<FmsMemberCashFlowVo> queryList(PageUtils pageUtils, FmsMemberCashFlowVo vo) ;

    /**
     * 分页查询
     * @param pageUtils
     * @param vo
     * @return
     */
    public PageUtils queryPage(PageUtils pageUtils, FmsMemberCashFlowVo vo);

    /**
     * 获取会员的推荐的交易流水
     * @param memberId
     * @return
     */
    List<FmsMemberCashFlow> getMemberCashFlowOnCecommend(Long memberId);

    /**
     * 获取累计收入
     * @param memberId
     * @return
     */
    List<FmsMemberCashFlow> getMemberIncome(Long memberId);

    /**
     * 订单的分销佣金
     * @param refereeMemberId
     * @param orderSn
     * @return
     */
    FmsMemberCashFlow getOrderDistributionCommission(Long refereeMemberId, String orderSn);

    /**
     * 获取需要清算的会员交易流水
     * @return
     */
    List<FmsMemberCashFlow> getCashFlowExpose();
}

